package com.salim.leetcode.$78;

import java.util.LinkedList;
import java.util.List;

public class Subsets {
    public List<List<Integer>> subsets(int[] nums) {
        return loop(new LinkedList<>(),0,nums);
    }

    List<List<Integer>> loop(List<Integer> array,int index,int[] nums){
        List<List<Integer>> result = new LinkedList<>();
        result.add(array);
        for(int i=index;i<nums.length;i++){
            List<Integer> newR = new LinkedList<>(array);
            newR.add(nums[i]);
            result.addAll(loop(newR,i+1,nums));
        }
        return result;
    }
}
